public class Object {
    public static void main(String[] args) {
        Cat cat1 = new Cat(); // cat1是一个地址，存放在栈中，指向堆中的对象数据空间
        cat1.name = "白雪"; // 属性类型是字符串，则name是一个地址，指向方法区的中常量池里的数据“白雪”
        cat1.age = 2;  // 属性类型是int,则age是基础数据类型，直接存放在堆中
        cat1.color = "白色";

        Cat cat2 = new Cat();
        cat2.name = "小七";
        cat2.age = 3;
        cat2.color = "黑色";

        System.out.println("第一只猫:"+cat1.name+cat1.age+cat1.color);
        System.out.println("第二只猫:"+cat2.name+cat2.age+cat2.color);

        Cat cat3 = cat1; // 把cat1赋给了cat3，也可以说让cat3指向cat1,此时cat3可以理解为cat1的别名，小名
        System.out.println(cat3.age);
    }


}

class Cat{
    String name;
    int age;
    String color;

}
